package com.ghck.server.service;
import java.util.List;

import com.ghck.server.model.PatientEventDay;
import com.ghck.server.model.query.PatientEventDayQuery;

/**
 * 用户健康数据-每种类型，每天只记录一条  <br>
 * t_patient_event_day <br>
 * v1.0 2016-05-22
 */
 public interface PatientEventDayService {
	
	/**
 	*根据ID删除 用户健康数据-每种类型，每天只记录一条
 	*/
 	public Integer deletePatientEventDayById(Integer id);
 	
 	/**
 	*新增 用户健康数据-每种类型，每天只记录一条
 	*/
 	public Integer batchInsertPatientEventDay(List<? extends PatientEventDay> patientEventDays);
 	
 	/**
 	*新增 用户健康数据-每种类型，每天只记录一条
 	*/
 	public Integer insertPatientEventDay(PatientEventDay domain);
 
 	
 	/**
 	*更新 用户健康数据-每种类型，每天只记录一条
 	*/
 	public Integer updatePatientEventDay(PatientEventDay domain);
 	
 	/**
 	*根据ID查询 用户健康数据-每种类型，每天只记录一条
 	*/
 	public PatientEventDay findPatientEventDayById(Integer id);

	/**
 	*通过query 查询 用户健康数据-每种类型，每天只记录一条
 	*/
	public List<PatientEventDay> findPatientEventDayByQuery(PatientEventDayQuery query);	
	
	/**
 	*通过query count总条数
 	*/
 	public Integer countPatientEventDayByQuery(PatientEventDayQuery query);
 	
 	/**
 	* 通过ids查询
 	*/
 	public List<PatientEventDay> findPatientEventDayByIds(List<Integer> ids);
 	
 	public void syncBloodPressureInRedis(boolean force);
 	public void syncSingletonBloodPressureInRedis(Integer bloodPressureId);
 	public List<PatientEventDay> findLastNByUserId(Integer userId,Integer limit,Integer categoryId);
 	public List<PatientEventDay> findByCategoryId(Integer categoryId);
 	
 	public List<PatientEventDay> findWeekBloodPress(Integer userId);
}	